Coordinated control of self-driving vehicles under emergency situations

ABSTRACT

A system included and a computer-implemented method performed in one of a plurality of self-driving vehicles that are connected through a network are described. The system performs: processing image data of one or more scene images received by said one of the plurality of self-driving vehicles, to detect one or more objects included in the one or more scene images; determining a target object from the one or more detected objects at least based on the processed image data; predicting movement of the target object at least based on a current position and a current movement state of the target object; and performing a self-driving operation to drive said one of the plurality of self-driving vehicles based on the predicted movement of the target object.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 15/804,187, filed Nov. 6, 2017, the content ofwhich is incorporated by reference in its entirety into the presentdisclosure.

BACKGROUND

Self-driving vehicles such as vehicles that autonomously operate withlimited human inputs or without human inputs are expected in variousfields. Since such a self-driving vehicle autonomously operates drivingthereof, drivers, if any, can focus more on other intended purposeswhile riding on the vehicles. When no driver or passenger is on theself-driving vehicle, the self-driving vehicle may be able to performmore aggressive operations, such as in an emergency situation.

In particular, self-driving vehicles that are intended to handle anemergency situation are expected to efficiently handle the emergencysituation while minimizing risk to the public and personnel deployed tohandle the emergency situation. For example, a self-driving vehicle mayneed to destruct a matter causing the emergency situation away from thepublic, or may need to evacuate the public away from the matter. Inanother example, a self-driving vehicle may need to settle the emergencysituation as quickly as possible to avoid danger to the public.Therefore, self-driving vehicles intended to handle an emergencysituation may be required to perform functions other than simply drivingfrom a start location to a destination as efficiently and safely aspossible, which may be required for ordinary self-driving vehicles.

These and other issues are addressed, resolved, and/or reduced usingtechniques described herein. The foregoing examples of the related artand limitations related therewith are intended to be illustrative andnot exclusive. Other limitations of the related art will become apparentto those of skill in the relevant art upon a reading of thespecification and a study of the drawings.

SUMMARY

Described herein are a system included in and a computer-implementedmethod performed in one of a plurality of self-driving vehicles that areconnected through a network. The system includes one or more processors;and a memory storing instructions that, when executed by the one or moreprocessors.

In one embodiment, the disclosure describes a system that performs:processing image data of one or more scene images received by said oneof the plurality of self-driving vehicles, to detect one or more objectsincluded in the one or more scene images; determining a target objectfrom the one or more detected objects at least based on the processedimage data; predicting movement of the target object at least based on acurrent position and a current movement state of the target object; andperforming a self-driving operation to drive said one of the pluralityof self-driving vehicles based on the predicted movement of the targetobject.

In some embodiments, the determining the target object comprises:receiving a feature of the target object from an external source that isexternal to said one of the plurality of self-driving vehicles; andcomparing the received feature of the target object with a correspondingfeature of one or more of the detected objects that are obtained fromthe processed image data.

In some embodiments, the determining the target object comprises:determining whether or not movement of a selected one of the detectedobjects matches a predetermined standard; and upon determining that themovement of the selected one of the detected objects matches thepredetermined standard, determining the selected one of the detectedobjects as the target object.

In some embodiments, the determining the target object comprises:determining whether or not movement of a selected one of the detectedobjects does not match a predetermined standard; and upon determiningthat the movement of the selected one of the detected objects does notmatch the predetermined standard, determining the selected one of thedetected objects as the target object.

In some embodiments, the current movement state of the target objectincludes a direction of movement of the target object, an orientation ofthe target object, and a speed of the movement of the target object.

In some embodiments, the self-driving operation includes causing saidone of the plurality of self-driving vehicles to pursue the targetobject. In some embodiments, the self-driving operation includes causingsaid one of the plurality of self-driving vehicles to attack the targetobject.

In some embodiments, the system is caused to further performcommunication with another one of the plurality of self-driving vehiclesthrough the network, based on the predicted movement of the targetobject. In some embodiments, the communication includes sending aninstruction to take a designated route to said another one of theplurality of self-driving vehicles. In some embodiments, thecommunication includes sending an instruction to proceed to a designatedlocation to said another one of the plurality of self-driving vehicles.

In some embodiments, the system is caused to further performcommunication with a traffic signal system to cause one or more trafficsignals to be at a designated state.

In some embodiments, the system is caused to further perform generatingan on-site notification from said one of the plurality of self-drivingvehicles, based on the predicted movement of the target object.

In some embodiments, the system is caused to further perform updatingthe predicted movement of the target object, based on the self-drivingoperation that has been performed.

In one embodiment, the disclosure describes a computer-implementedmethod performed in one of a plurality of self-driving vehicles that areconnected through a network. The method comprises: processing image dataof one or more scene images received by said one of the plurality ofself-driving vehicles, to detect one or more objects included in the oneor more scene images; determining a target object from the one or moredetected objects at least based on the processed image data; predictingmovement of the target object at least based on a current position and acurrent movement state of the target object; and performing aself-driving operation to drive said one of the plurality ofself-driving vehicles based on the predicted movement of the targetobject.

BRIEF DESCRIPTION OF THE DRAWINGS

Certain features of various embodiments of the present technology areset forth with particularity in the appended claims. A betterunderstanding of the features and advantages of the technology will beobtained by reference to the following detailed description that setsforth illustrative embodiments, in which the principles of the inventionare utilized, and the accompanying drawings of which:

FIG. 1 is a schematic diagram depicting an example of aself-driving-vehicle-based emergency system that includes a plurality ofself-driving emergency vehicles according to an embodiment.

FIG. 2 is a schematic diagram depicting an example of a self-drivingemergency vehicle system according to an embodiment.

FIG. 3 is a schematic diagram depicting an example of arrangement ofdifferent types of focus lenses in a focus-variable lens mount unitaccording to an embodiment.

FIG. 4 depicts a flowchart of an example of a method for coordinatedself-driving of emergency vehicles in terms of a self-driving emergencyvehicle system that has not detected a target object.

FIG. 5 depicts a flowchart of an example of a method for off-sitecommunication.

FIG. 6 depicts a flowchart of an example of a method for on-sitecommunication.

FIG. 7 depicts a flowchart of an example of a method for a self-drivingoperation.

FIG. 8 is a schematic map diagram of an example of deployment andbehavior of a plurality of self-driving emergency vehicle systems in anexemplary occasion.

FIG. 9 is a block diagram that illustrates a computer system upon whichany of the embodiments described herein may be implemented.

DETAILED DESCRIPTION

In the following description, certain specific details are set forth inorder to provide a thorough understanding of various embodiments of theinvention. However, one skilled in the art will understand that theinvention may be practiced without these details. Moreover, whilevarious embodiments of the invention are disclosed herein, manyadaptations and modifications may be made within the scope of theinvention in accordance with the common general knowledge of thoseskilled in this art. Such modifications include the substitution ofknown equivalents for any aspect of the invention in order to achievethe same result in substantially the same way.

Unless the context requires otherwise, throughout the presentspecification and claims, the word “comprise” and variations thereof,such as, “comprises” and “comprising” are to be construed in an open,inclusive sense, that is as “including, but not limited to.” Recitationof numeric ranges of values throughout the specification is intended toserve as a shorthand notation of referring individually to each separatevalue falling within the range inclusive of the values defining therange, and each separate value is incorporated in the specification asit were individually recited herein. Additionally, the singular forms“a,” “an” and “the” include plural referents unless the context clearlydictates otherwise.

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure or characteristicdescribed in connection with the embodiment is included in at least oneembodiment of the present invention. Thus, the appearances of thephrases “in one embodiment” or “in an embodiment” in various placesthroughout this specification are not necessarily all referring to thesame embodiment, but may be in some instances. Furthermore, theparticular features, structures, or characteristics may be combined inany suitable manner in one or more embodiments.

Various embodiments described herein are directed to a system includedin one of a plurality of self-driving vehicles that are connectedthrough a network and a computer-implemented method performed in one ofa plurality of self-driving vehicles that are connected through anetwork.

In a specific implementation, the system and the computer-implementedmethod are intended to handle an emergency situation where theself-driving vehicles are deployed to capture a target object that maycause danger to the public (e.g., a police car chase situation). Inanother specific implementation, the system and the computer-implementedmethod are intended to handle an emergency situation where theself-driving vehicles are deployed to guide the traffic flow away from alocation of the emergency situation (e.g., a traffic accident). Inanother specific implementation, the system and the computer-implementedmethod are intended to handle an emergency situation where theself-driving vehicles are deployed to evacuate the public away from alocation of the emergency situation (e.g., disaster).

In some implementations, the system performs: processing image data ofone or more scene images received or captured by said one of theplurality of self-driving vehicles or by an image-capturing system(e.g., a camera on a drone conducting video surveillance over the area)remotely connected to the system or one or more of the vehicles, todetect one or more objects included in the one or more scene images;determining a target object from the one or more detected objects atleast based on the processed image data; predicting movement of thetarget object at least based on a current position and a currentmovement state of the target object; and performing a self-drivingoperation to drive said one of the plurality of self-driving vehiclesbased on the predicted movement of the target object.

FIG. 1 is a schematic diagram depicting an example of aself-driving-vehicle-based emergency system 100 that includes aplurality of self-driving emergency vehicles according to an embodiment.In the example depicted in FIG. 1, the self-driving-vehicle-basedemergency system 100 includes a network 102, a plurality of self-drivingemergency vehicle systems 1041-104. (hereinafter collectively referredto as self-driving emergency vehicle systems 104), a center server 106,non-self-driving emergency vehicle system(s) 108, off-vehicle officerdevice(s) 110, and a traffic signal system 112. The self-drivingemergency vehicle systems 104, the center server 106, thenon-self-driving emergency vehicle system(s) 108, the off-vehicleofficer device(s) 110, and the traffic signal system 112 are coupled tothe network 102.

In the example of FIG. 1, the network 102 is intended to represent avariety of potentially applicable technologies. For example, the network102 can be used to form a network or part of a network. Where twocomponents are co-located on a device, the network 102 can include a busor other data conduit or plane. Depending upon implementation-specificor other considerations, the network 102 can include wired communicationinterfaces and wireless communication interfaces for communicating overwired or wireless communication channels. Where a first component islocated on a first device and a second component is located on a second(different) device, the network 102 can include a wireless or wiredback-end network or LAN. The network 102 can also encompass a relevantportion of a WAN or other network, if applicable. Enterprise networkscan include geographically distributed LANs coupled across WAN segments.For example, a distributed enterprise network can include multiple LANs(each LAN is sometimes referred to as a Basic Service Set (BSS) in IEEE802.11 parlance, though no explicit requirement is suggested here)separated by WAN segments. An enterprise network can also use VLANtunneling (the connected LANs are sometimes referred to as an ExtendedService Set (ESS) in IEEE 802.11 parlance, though no explicitrequirement is suggested here). Depending upon implementation or otherconsiderations, the network 102 can include a private cloud under thecontrol of an enterprise or third party, or a public cloud.

In the example of FIG. 1, the self-driving emergency vehicle system 104is intended to represent an emergency vehicle (e.g., police vehicle,ambulance, fire truck, and etc.) that is capable of sensing itsenvironment and navigating with a limited human input or without humaninput. The “vehicle” discussed in this paper typically includes avehicle that drives on the ground, and may also include a vehicle thatflies in the sky (e.g., drones, helicopter, airplanes, and so on). The“vehicle” discussed in this paper may or may or accommodate one or morepassengers therein.

In one embodiment, the self-driving emergency vehicle system 104includes a vehicle that controls braking and/or acceleration withoutreal time human input. In another embodiment, the self-driving emergencyvehicle system 104 includes a vehicle that controls steering withoutreal time human input based on inputs from one or more lens mount units.In another embodiment, the self-driving emergency vehicle system 104includes a vehicle that autonomously controls braking, acceleration, andsteering without real time human input specifically for parking thevehicle at a specific parking space, such as a parking lot, a curb sideof a road (e.g., parallel parking), and a home garage, and so on.Further, “real time human input” is intended to represent a human inputthat is needed to concurrently control wheel movement of anon-self-driving vehicle, such as gear shifting, steering control,braking pedal control, accel pedal control, crutch pedal control, and soon.

In the example of FIG. 1, the self-driving emergency vehicle system 104is capable of sensing its environment based on inputs from one or moreimaging devices (e.g., camera) mounted on the self-driving emergencyvehicle system 104. In an embodiment, the self-driving emergency vehiclesystem 104 is configured to analyze image data obtained from the one ormore imaging devices and identify objects (e.g., traffic signals, roadsigns, other vehicles, pedestrians, and obstacles) included in images ofthe analyzed image data.

In the example of FIG. 1, the self-driving emergency vehicle system 104is also capable of performing a self-driving operation based on theidentified objects. In an embodiment, the self-driving emergency vehiclesystem 104 is also capable of drive the vehicle so as to follow atraffic stream without hitting the identified objects. For example, theself-driving emergency vehicle system 104 follow traffic signalsidentified based on image data, follow traffic signs identified based onimage data, and drive with a sufficient distance from precedingvehicles.

In the example of FIG. 1, the self-driving emergency vehicle system 104is also capable of determining a target object among the identifiedobjects based on image data and control the vehicle to follow the targetobject. In an embodiment, the target object may be a suspect, asuspect's vehicle, an unattended vehicle (e.g., wheeled drones)manipulated by a suspect, an unattended animal, a victim, an injuredperson, and so on. In an embodiment, the target object may be adisaster-related object, such as flood water, fire, landslides, snowavalanches, a fallen tree, and so on. In an embodiment, the targetobject may be an object involved in a traffic accident, including acrashed vehicle, a stalled vehicle, debris of crash, and so on. Forexample, the self-driving emergency vehicle system 104 identifies alicense plate of a vehicle as a target object and controls the vehicleso as to follow the license plate. In another example, the self-drivingemergency vehicle system 104 a person of particular features (e.g.,male, 6′2″, black short hair, brown jackets, and blue jeans) as a targetobject and controls the vehicle so as to pursue the person of theparticular features.

In the example of FIG. 1, the self-driving emergency vehicle system 104is also capable of communicating with systems or devices connected tothe network 102. In an embodiment, the self-driving emergency vehiclesystem 104 communicates with the center server 106 via the network 102.For example, the self-driving emergency vehicle system 104 pulls up fromthe center server 106 features and/or attribute information (e.g.,appearance of the target, license plate number, and etc.) of the targetobject. In another example, the self-driving emergency vehicle system104 receives from the center server 106 a push message, for example,regarding details of a 911 call received from a citizen. In stillanother example, the self-driving emergency vehicle system 104periodically notifies information of the self-driving emergency vehiclesystem 104 such as locations and directions thereof to the center server106.

In an embodiment, the self-driving emergency vehicle system 104communicates with one or more other self-driving emergency vehiclesystems 104 via the network 102. For example, the self-driving emergencyvehicle system 104 sends information of the target object to the one ormore other self-driving emergency vehicle systems 104, such that the oneor more other self-driving emergency vehicle systems 104 can follow thetarget object. In another example, the self-driving emergency vehiclesystem 104 commands one or more other self-driving police emergencysystems 104 to proceed to a particular location so as to encompass thetarget object at the particular location. In still another example, theself-driving emergency vehicle system 104 notifies a route to be takenthereby (or a route that has been taken thereby) to the one or moreother self-driving emergency vehicle systems 104.

In an embodiment, the self-driving emergency vehicle system 104communicates with the non-self-driving police vehicle system(s) 108 andwith the off-vehicle police officer device(s) 110 via the network 102 ina manner similar to the communication with the one or more otherself-driving emergency vehicle systems 104. For example, theself-driving emergency vehicle system 104 sends information of thetarget object, information of the route to be taken thereby, informationof route taken by the self-driving emergency vehicle system 104, and soon to the non-self-driving police vehicle system(s) 108 and with theoff-vehicle police officer device(s) 110. In another example, theself-driving emergency vehicle system 104 receives information aboutcurrent locations of the non-self-driving police vehicle system(s) 108and with the off-vehicle police officer device(s) 110 and information ofthe target object, from the non-self-driving police vehicle system(s)108 and with the off-vehicle police officer device(s) 110.

In an embodiment, the self-driving emergency vehicle system 104communicates with the traffic signal system 112 via the network 102. Forexample, the self-driving emergency vehicle system 104 sends a currentlocation and a route to be taken thereby to the traffic signal system112, such that traffic signals on the route to be green. In anotherexample, the self-driving emergency vehicle system 104 sends a specificinstruction to change traffic signals to the traffic signal system 112.Depending on a specific implementation of the embodiment, the trafficsignal system 112 changes signals in response to the instruction, suchthat a clear (green light) path is provided to the self-drivingemergency vehicle system 104, that public vehicles do not go to thedirection of the self-driving emergency vehicle system 104 or to thetarget object, and that the target object are attempted to go to aspecific location (e.g., a less populated area, a dead end, and so on).

In the example of FIG. 1, the self-driving emergency vehicle system 104is also capable of generating messages to people on-site, i.e., at thelocation of the self-driving emergency vehicle system 104. In anembodiment, the self-driving emergency vehicle system 104 generates anaudio message (voice message). For example, the self-driving emergencyvehicle system 104 generates an alert voice message to call attention tothe public around the self-driving emergency vehicle system 104. Inanother example, the self-driving emergency vehicle system 104 generatesa message (warning message) against a target object to persuadesurrender. In another example, the self-driving emergency vehicle system104 generates an instructive audio message (e.g., police code word) toon-site officer. In another embodiment, the self-driving emergencyvehicle system 104 generates a visual message to be displayed on adisplay, which is, for example, mounted on the self-driving emergencyvehicle system 104. The visual message may or may not include the samecontent as the audio message.

In the example of FIG. 1, the center server 106 is intended to representa server that is capable of providing information to the self-drivingemergency vehicle system 104 and the other elements connected to thenetwork 102. In an embodiment, the information include staticinformation regarding a geographic region (e.g., city map) managed bythe center server 106, static information regarding the target object(e.g., crime history, appearance, attribute, and so on), dynamicinformation regarding the geographic region (e.g., a traffic condition,amounts of pedestrians, etc.), dynamic information regarding the targetobject (e.g., types of clothes worn thereby, whether or not the targetobject carries weapon, and whether or not the target object is with ahostage, etc.). In an embodiment, the center server 106 generates thedynamic information based on information collected from one or more ofthe other elements in the self-driving-vehicle-based emergency system100 (e.g., the self-driving emergency vehicle systems 104).

In the example of FIG. 1, the non-self-driving emergency vehiclesystem(s) 108 is intended to represent an emergency vehicle (e.g.,police vehicle, ambulance, fire truck, and etc.) that is not capable ofnavigating with a limited human input or without human input. In anembodiment, the non-self-driving emergency vehicle system(s) 108 includeconventional emergency vehicles. In an embodiment, the non-self-drivingemergency vehicle system(s) 108 is capable of communicating with one ormore of the other elements in the self-driving-vehicle-based emergencysystem 100 (e.g., the self-driving emergency vehicle systems 104) viathe network 102.

In the example of FIG. 1, the off-vehicle officer device(s) 110 isintended to represent a communication device (e.g., a radio transceiver,a mobile phone, etc.) that is carried by an off-vehicle officer. In anembodiment, the off-vehicle officer device(s) 110 is capable ofcommunicating with one or more of the other elements in theself-driving-vehicle-based emergency system 100 (e.g., the self-drivingemergency vehicle systems 104) via the network 102.

In the example of FIG. 1, the traffic signal system 112 is intended torepresent a group of traffic signals disposed on roads and a controlsystem that controls the traffic signals. In an embodiment, the trafficsignal system 112 is capable of causing a traffic signal for a directionat an intersection to be either green or red for a predetermined periodof time. In a more specific example, the traffic signal system 112 iscapable of causing all traffic signals at an intersection to be red, soas to freeze the traffic flow. In a more specific example, the trafficsignal system 112 is capable of causing signals in an area to be greenor red, so as to guide a traffic flow in a certain direction (e.g.,direction away from an incident area). In an embodiment, the trafficsignal system 112 is capable of operating based on commands from theself-driving emergency vehicle systems 104 and/or the center server 106.

In a specific implementation, when the traffic signal system 112receives contradicting commands for a specific traffic signal from twoor more network elements (e.g., two or more the self-driving emergencyvehicle systems 104), the traffic signal system 112 may determine astate of the traffic signal on a first-come-first-serve basis or bymajority.

FIG. 2 is a schematic diagram depicting an example of a self-drivingemergency vehicle system 200 according to an embodiment. In anembodiment, the self-driving emergency vehicle system 200 corresponds tothe self-driving emergency vehicle system 104 depicted in FIG. 1.

In the example depicted in FIG. 2, the self-driving emergency vehiclesystem 200 includes a control engine 202, an image processing engine204, a positioning engine 206, a self-driving control engine 208, anoff-site communication engine 210, and an on-site communication engine212. In the example depicted in FIG. 2, the control engine 202 iscoupled to the image processing engine 204, the positioning engine 206,the self-driving control engine 208, the off-site communication engine210, and the on-site communication engine 212. Further, in the exampledepicted in FIG. 2, the control engine 202 is intended to representspecifically-purposed hardware and software configured to controloverall operation of the self-driving emergency vehicle system 200. Thecontrol engine 202 includes a target pointing and tracking engine 222, avehicle behavior determination engine 224, and a target positionpredicting engine 226, to achieve specific intended purposes.

In the example depicted in FIG. 2, the image processing engine 204 isintended to represent specifically-purposed hardware and softwareconfigured to carry out image processing of image data of scene imagesgenerated by imaging devices (not shown) mounted on the self-drivingemergency vehicle system 200. In a specific example, the scene imagesinclude road signs, traffic signals, lane lines, other vehicles,pedestrians, buildings, and so on. In an embodiment, the imageprocessing engine 204 is configured to detect objects included in eachof the scene images. In a specific example, the image processing engine204 detects objects based on a contour line (high contrast region)included in the scene images.

In an embodiment, the image processing engine 204 is configured toidentify each object included in the scene images based on imageprocessing of the image data thereof, in accordance with an imagerecognition technique. For example, according to an image recognitiontechnique, the image processing engine 204 compares image data of eachof the detected objects with image data of reference objects that arestored in advance, for example, in the self-driving emergency vehiclesystem 200 or at an external server (e.g.,, the center server 106 inFIG. 1) for identification of the detected objects. For the imagerecognition, an applicable machine learning technology (including deeplearning) is employed in a specific implementation.

In an embodiment, the image processing engine 204 is configured togenerate processed image data and provide the processed image data tothe control engine 202. For example, the processed image data includethe image data obtained from the imaging devices and metadata ofidentified objects and metadata of detected objects (but notidentified). In a more specific example, the metadata include a relativeposition (including distance) of each detected object from theself-driving emergency vehicle system 200. In another more specificexample, the metadata include a model, make, year, and color of eachvehicle included in a scene image, a license plate number of eachvehicle included in a scene image, a height, predicted gender, predictedage, and clothes of each pedestrian included in a scene image. Inanother more specific example, the metadata may also include the numberof passengers in one or more vehicles included in the scene image.

In the example depicted in FIG. 2, the positioning engine 206 isintended to represent specifically-purposed hardware and softwareconfigured to determine absolute position and orientation of theself-driving emergency vehicle system 200 itself and the detectedobjects. In an embodiment, the positioning engine 206 determinesabsolute position and orientation of the self-driving emergency vehiclesystem 200 based on an inputs from sensors, including a globalpositioning system (GPS), a gyro sensor, an acceleration sensor, and soon. In an embodiment, the positioning engine 206 determines absoluteposition and orientation of one or more detected objects based on theinput from the sensors and the relative position obtained based on theimage processing.

In the example depicted in FIG. 2, the target pointing and trackingengine 222 is intended to represent specifically-purposed hardware andsoftware configured to mark a detected object as a target object andtrack a position of the target object. In an embodiment, the targetpointing and tracking engine 222 determines the target object based onlocal information that is locally obtained from the processed imagedata. For example, the target pointing and tracking engine 222determines a detected object as a target object when the detected object(e.g., vehicle) violates a predetermined standard such as a traffic rule(e.g., red light running, speeding, weaving) or when the detectedobject's movement is likely to match a predetermined standard (e.g.,feature of a driving under the influence (DUI)). In an embodiment, thetarget pointing and tracking engine 222 determines the target objectbased on external information that is obtained from an external sourcealong with the local information. For example, the target pointing andtracking engine 222 determines a detected object as a target object whena license plate number included in the external information matches alicense plate number included in the metadata of the processed imagedata.

In another embodiment, the target pointing and tracking engine 222determines a detected object as the target object that has beendetermined by another self-driving emergency vehicle system, based oninformation received from said another self-driving emergency vehiclesystem. For example, the target pointing and tracking engine 222determines a detected object as the target object, when features of avehicle and a location of the vehicle that are notified from anotherself-driving emergency vehicle system match features and a location of avehicle detected through image processing.

In an embodiment, when another self-driving emergency vehicle system hasalready pointed a target object, the target pointing and tracking engine222 may be deactivated, such that the self-driving emergency vehiclesystem 200 focus on dealing with the target object pointed by anotherself-driving emergency vehicle system. In another embodiment, whenanother self-driving emergency vehicle system has already pointed atarget object, the target pointing and tracking engine 222 may remainactivated, such that another target object can be pointed by the targetpointing and tracking engine 222. Depending on a specific implementation(e.g., a probability to capture each of target objects, danger to thepublic, etc.), a target object to be focused on may be selected.

In the example depicted in FIG. 2, the vehicle behavior determinationengine 224 is intended to represent specifically-purposed hardware andsoftware configured to determine behavior of the self-driving emergencyvehicle system 200. In an embodiment, the vehicle behavior determinationengine 224 autonomously determines behavior of the self-drivingemergency vehicle system 200. More specifically, the vehicle behaviordetermination engine 224 determines to cause the self-driving emergencyvehicle system 200 to pursue the target object, proceed to a specificlocation not pursuing the target object, take a specific route, and stayat the current location, based on values of one or more parameters.Further, the vehicle behavior determination engine 224 determines toperform off-site communication through a network (e.g., the network 102in FIG. 1) with network elements (e.g., the self-driving emergencyvehicle system 104, the center server 106, and the traffic signal system112 in FIG. 1), based on values of one or more parameters. Moreover, thevehicle behavior determination engine 224 determines to perform on-sitecommunication using output devices (e.g., speaker, display, siren,beacon, and etc.), based on values of one or more parameters.

In an embodiment, the parameters include one or more of a speed of atarget object, a distance to the target object, the number (density) ofemergency vehicle systems deployed around the target object, time in theday, (e.g., day time or night time), traffic condition (e.g., congestedor sparse), attribute of the target object (e.g., model of car, machinecapability, etc.), attributes of person in the target object (e.g., witha criminal record, weapon, hostage, etc.), attributes of the area (e.g.,population density), the number (density) of pedestrians, to name a few.

In an embodiment, the vehicle behavior determination engine 224 isfurther configured to determine one or more secondary parameters basedon the parameters described above, and determine behavior of theself-driving emergency vehicle system 200 values of the secondaryparameters. In an embodiment, the secondary parameters include one ormore of a probability of capturing (e.g., arrest) the target objectthereby, a probability of capturing (e.g., arrest) the target object bythe other emergency vehicle systems, a level of danger to the public,and a level of danger to passenger (e.g., hostage) in the target object,to name a few.

In an embodiment, the vehicle behavior determination engine 224subordinately determines behavior of the self-driving emergency vehiclesystem 200 based on instructions from an external system (e.g., theself-driving emergency vehicle system 104, the center server 106, andthe non-self-driving emergency vehicle system 108 in FIG. 1). In aspecific implementation, when the target pointing and tracking engine222 points no target object and another self-driving emergency vehiclesystem has already pointed a target object, the vehicle behaviordetermination engine 224 determines behavior of the self-drivingemergency vehicle system 200 based on an instruction of anotherself-driving emergency vehicle system that has pointed a target object.

In the example depicted in FIG. 2, the self-driving engine 208 isintended to represent specifically-purposed hardware and softwareconfigured to perform a self-driving operation of the self-drivingemergency vehicle system 200 based on the determined behavior of theself-driving emergency vehicle system 200. For example, when the vehiclebehavior determination engine 224 determines to pursue a target object,the self-driving engine 208 causes the self-driving emergency vehiclesystem 200 to follow the target object, based on the processed imagedata (e.g., including the metadata) and the position of the targetobject. For example, when the vehicle behavior determination engine 224determines to proceed to a specific location (e.g., a predicteddestination of the target object), the self-driving engine 208 causesthe self-driving emergency vehicle system 200 to proceed to the specificlocation. For example, when the vehicle behavior determination engine224 determines to take a specific route (e.g., parallel to the targetobject away one block), the self-driving engine 208 causes theself-driving emergency vehicle system 200 to take the specific route.

In the example depicted in FIG. 2, the off-site communication engine 210is intended to represent specifically-purposed hardware and softwareconfigured to carry out off-site communication through a network (e.g.,the network 102 in FIG. 1) with network elements (e.g., the self-drivingemergency vehicle system 104, the center server 106, the traffic signalsystem 112 in FIG. 1 or other network element) based on the determinedbehavior of the self-driving emergency vehicle system 200. For example,when the vehicle behavior determination engine 224 determines tocommunicate with the other self-driving emergency vehicle systems toinstruct a specific operation (e.g., drive to a specific location), theoff-site communication engine 210 transmits an instruction through anapplicable communication interface using an applicable signal (e.g.,radio frequency signals, wireless signals, satellite signals and so on).For example, when the vehicle behavior determination engine 224determines to communicate with a server (e.g., the center server 106 inFIG. 1) to obtain necessary information (e.g., static information of thetarget object), the off-site communication engine 210 transmits arequest through an applicable communication interface using anapplicable signal, in a similar manner to the instruction. For example,when the vehicle behavior determination engine 224 determines tocommunicate with a traffic signal system (e.g., the traffic signalsystem 112 in FIG. 1) to instruct specific signal state of signals inthe region of the self-driving emergency vehicle system 200, theoff-site communication engine 210 transmits a command to the trafficsignal system through an applicable communication interface using anapplicable signal, in a similar manner to the instruction. For example,when the vehicle behavior determination engine 224 determines tocommunicate with other network element (e.g., a public network systemsuch as Amber alert system), the off-site communication engine 210communicates with the other network element.

In the example depicted in FIG. 2, the on-site communication engine 212is intended to represent specifically-purposed hardware and softwareconfigured to carry out on-site communication using output devices(e.g., speaker, display, siren, beacon, and etc.) based on thedetermined behavior of the self-driving emergency vehicle system 200.For example, when the vehicle behavior determination engine 224determines to generate an on-site message to the public, the on-sitecommunication engine 212 generates an on-site message to the publicthrough the output devices. For example, when the vehicle behaviordetermination engine 224 determines to generate an on-site message toon-site officers, the on-site communication engine 212 generates anon-site message to the on-site officers through the output devices, forexample, using a code word. For example, when the vehicle behaviordetermination engine 224 determines to generate an on-site message tothe target object (e.g., driver on a target vehicle) to notify that theself-driving emergency vehicle system 200 is following the targetobject, the on-site communication engine 212 generates an on-sitemessage to the target object through the output devices.

In the example depicted in FIG. 2, the target position predicting engine226 is intended to represent specifically-purposed hardware and softwareconfigured to predict a position of a target object at a specific futurepoint in time. In an embodiment, the target position predicting engine226 predicts the position of the target object based on past and currentmovement of the target object. For example, the target positionpredicting engine 226 predicts the position of the target object basedon paths taken by the target object, a speed profile of the targetobject, locations corresponding to attribute information (e.g., homeaddress, office address, etc.) of the target object, when theself-driving emergency vehicle system 200 has not notified its presenceto the target object (or when it is determined the target object has notrecognized the self-driving emergency vehicle system 200 based on themovement of the target object).

In an embodiment, the target position predicting engine 226 predicts theposition (e.g., by reactive movement) of the target object based thedetermined behavior of the self-driving emergency vehicle system 200 andcontents of the determined off-site and/or on-site communication made bythe self-driving emergency vehicle system 200 (which may correspond tobehavior of the other self-driving emergency vehicle systems). Forexample, the target position predicting engine 226 predicts the positionof the target object based on a route of the self-driving emergencyvehicle system 200 and a position of the self-driving emergency vehiclesystem 200 relative to the target object, when the self-drivingemergency vehicle system 200 has notified its presence to the targetobject (or when it is determined the target object has recognized theself-driving emergency vehicle system 200 based on the movement of thetarget object).

FIG. 3 depicts a flowchart 300 of an example of a method for coordinatedself-driving of emergency vehicles in terms of a self-driving emergencyvehicle system that locates a target object. This flowchart and otherflowcharts described in this paper illustrate modules (and potentiallydecision points) organized in a fashion that is conducive tounderstanding. It should be recognized, however, that the modules can bereorganized for parallel execution, reordered, modified (changed,removed, or augmented), where circumstances permit. In the example ofFIG. 3, the flowchart 300 starts at module 302, with performing imageprocessing of image data. An applicable system for performing imageprocessing, such as the image processing engine described in this paper,can perform the image processing. In an embodiment, objects included inscene images captured by imaging devices are detected, the detectedobjects are then identified according to an image recognition technique,and relative position and orientation of the detected objects from aself-driving emergency vehicle system are determined in the module 302.

In the example of FIG. 3, the flowchart 300 continues to module 304,with locating a target object based on processed image data. Anapplicable system for locating a target object, such as the targetpointing and tracking engine described in this paper, can locate thetarget object. In an embodiment, absolute position and orientation ofthe self-driving emergency vehicle system are determined based oninformation obtained from sensors (e.g., GPS, a gyro sensor, anacceleration sensor, etc.), and an absolute position and orientation ofthe target object is determined based on the absolute position andorientation of the self-driving emergency vehicle system and therelative position of the target object.

In the example of FIG. 3, the flowchart 300 continues to module 306,with predicting movement of the target object. An applicable system forpredicting movement of a target object, such as the target positionpredicting engine described in this paper, can predict movement of thetarget object. In an embodiment, movement of the target object beforethe self-driving emergency vehicle system is perceived by the targetobject is predicted in an initial sequence, and reactive movement of thetarget object after the self-driving emergency vehicle system has beenperceived by the target object is predicted in a subsequent sequence ina loop, after performing module 312.

In the example of FIG. 3, the flowchart 300 continues to module 308,with performing off-site communication. An applicable system forperforming off-site communication, such as the off-site communicationengine described in this paper, can perform the off-site communication.In an embodiment, the off-site communication includes communication withone or more of the other self-driving emergency vehicle systems (e.g.,the self-driving emergency vehicle system 104 in FIG. 1), an externalserver (e.g., the center server 106 in FIG. 1), a traffic signal system(e.g., the traffic signal system 112 in FIG. 1).

In the example of FIG. 3, the flowchart 300 continues to module 310,with performing on-site communication. An applicable system forperforming on-site communication, such as the on-site communicationengine described in this paper, can perform the on-site communication.In an embodiment, the on-site communication includes communication withone or more of the target object, the public, and on-site officers(e.g., on-site police officers).

In the example of FIG. 3, the flowchart 300 continues to module 312,with performing a self-driving operation. An applicable system forperforming a self-driving operation, such as the self-driving controlengine described in this paper, can perform the self-driving operation.In an embodiment, the self-driving operation include one or more ofpursuing the target object, proceeding to a specific location (e.g.,predicted location of the target object) not pursuing the target object,taking a specific route, and staying at the current location. In theexample of FIG. 3, the flowchart 300 returns to module 306, and module306 through module 312 are repeated.

FIG. 4 depicts a flowchart 400 of an example of a method for coordinatedself-driving of emergency vehicles in terms of a self-driving emergencyvehicle system that has not detected a target object (i.e., off-site).In the example of FIG. 4, the flowchart 400 starts at module 402, withreceiving information from another self-driving emergency vehicle systemthat is on-site and has located a target object. An applicable systemfor performing receiving information, such as the off-site communicationengine described in this paper, can receive the information from anotherself-driving emergency vehicle system. In an embodiment, the informationreceived from another self-driving emergency vehicle system includes oneor more of a current location of the target object, a predicted locationof the target object, a current location of said another self-drivingemergency vehicle system, a route to be taken by said anotherself-driving emergency vehicle system. In an embodiment, the informationincludes one or more of an instruction to proceed to a specificlocation, an instruction to take a specific route, and an instruction tostay at the current location.

In the example of FIG. 4, the flowchart 400 continues to module 404,with performing image processing of image data. An applicable system forperforming image processing, such as the image processing enginedescribed in this paper, can perform the image processing. In anembodiment, the image processing in module 404 is carried out in amanner similar to module 302 in the flowchart 300.

In the example of FIG. 4, the flowchart 400 continues to decision point406, with determining whether a target object, which is notified fromanother self-driving emergency vehicle system, is detected through theimage processing performed in module 404. An applicable system fordetermining whether a target object is detected, such as the targetpointing and tracking engine described in this paper, can perform thedetermination.

If a decision result of the decision point 406 is Yes (Y in FIG. 4), theflowchart 400 proceeds to the module 304 in the flowchart 300. If thedecision result of the decision point 406 is No (N in FIG. 4), theflowchart 400 proceeds to the module 408, with performing off-sitecommunication in a similar manner to the off-site communicationperformed in the module 308. In an embodiment, the off-sitecommunication includes communication of a current location and a routeto be taken thereby to one or more of the other self-driving emergencyvehicle systems (e.g., the self-driving emergency vehicle system 104 inFIG. 1). In an embodiment, the off-site communication includescommunication to control traffic signal ahead thereof with a trafficsignal system (e.g., the traffic signal system 112 in FIG. 1). In anembodiment, the off-site communication includes communication to obtaininformation of a target object from an external server (e.g., the centerserver 106 in FIG. 1).

In the example of FIG. 4, the flowchart 400 continues to decision point410, with performing on-site communication in a similar manner to theoff-site communication performed in the module 310. In an embodiment,the on-site communication includes communication with the public.

In the example of FIG. 4, the flowchart 400 continues to decision point412, with performing a self-driving operation in a similar manner to theoff-site communication performed in the module 312. In an embodiment,the self-driving operation include one or more of proceeding to aspecific location (e.g., predicted location of the target object),taking a specific route, and staying at the current location. In theexample of FIG. 3, the flowchart 400 returns to module 406, and module406 through module 412 are repeated until a target object is detected.

FIG. 5 depicts a flowchart 500 of an example of a method for off-sitecommunication. In an embodiment, the off-site communication includes oneor both of the off-site communication in the module 308 in FIG. 3 andthe off-site communication in the module 408 in FIG. 4. A sequence ofthe flowchart 500 is carried out with respect to each instance ofoff-site communication. In the example of FIG. 5, the flowchart 500starts at decision point 502, with determining whether a specificinstance of off-site communication is communication to one or more otherself-driving emergency vehicle systems (e.g., the self-driving emergencyvehicle systems 104 in FIG. 1). If a decision result of the decisionpoint 502 is Yes (Y in FIG. 5), the flowchart 500 continues to module504, with performing communication with one or more other self-drivingemergency vehicle systems. In an embodiment, the communication to one ormore other self-driving emergency vehicle systems includessending/receiving information of a target object and information of theown/other self-driving emergency vehicle system. In an embodiment, thecommunication to one or more other self-driving emergency vehiclesystems includes sending/receiving instruction to proceed to a specificlocation, take a specific route, and stay at the current location.

In the example of FIG. 5, if the decision result of the decision point502 is No (N in FIG. 5), the flowchart 500 continues to decision point506, with determining whether the specific instance of the off-sitecommunication is communication to an external server (e.g., the centerserver 106 in FIG. 1). If a decision result of the decision point 506 isYes (Y in FIG. 5), the flowchart 500 continues to module 508, withperforming communication with an external server. In an embodiment, thecommunication with an external server includes sending/receivinginformation of a target object and information of the own/otherself-driving emergency vehicle system.

In the example of FIG. 5, if the decision result of the decision point506 is No (N in FIG. 5), the flowchart 500 continues to decision point510, with determining whether the specific instance of the off-sitecommunication is communication to the public (e.g., a publiccommunication network). If a decision result of the decision point 510is Yes (Y in FIG. 5), the flowchart 500 continues to module 512, withperforming communication to the public. In an embodiment, thecommunication to the public includes sending information of a targetobject (e.g., a runway of a runway vehicle). In an example, the publiccommunication network may be a communication network substantiallysimilar to Amber alert system. In an embodiment, the communication tothe public may be via the external server (e.g., the center server 106).

In the example of FIG. 5, if the decision result of the decision point510 is No (N in FIG. 5), the flowchart 500 continues to decision point514, with determining whether the specific instance of the off-sitecommunication is communication to a traffic signal system (e.g., thetraffic signal system 112 in FIG. 1). If a decision result of thedecision point 514 is Yes (Y in FIG. 5), the flowchart 500 continues tomodule 516, with performing communication to the traffic signal system.In an embodiment, the communication to the traffic signal systemincludes sending a control signal to the traffic signal system so as tocontrol states (e.g., green or red) of one or more specific trafficsignals. If a decision result of the decision point 514 is No (N in FIG.5), the flowchart 500 returns to the decision pint 502 for a nextinstance of off-site communication.

FIG. 6 depicts a flowchart 600 of an example of a method for on-sitecommunication. In an embodiment, the on-site communication includes oneor both of the on-site communication in the module 308 in FIG. 3 and theoff-site communication in the module 408 in FIG. 4. That is, the on-sitecommunication in FIG. 6 is intended to represent local communicationwhere a self-driving emergency vehicle system is located. A sequence ofthe flowchart 600 is carried out with respect to each instance ofon-site communication. In the example of FIG. 6, the flowchart 600starts at decision point 602, with determining whether a specificinstance of on-site communication is communication to on-siteofficer(s).

If a decision result of the decision point 602 is Yes (Y in FIG. 5), theflowchart 600 continues to module 604, with performing communicationwith on-site officer(s). In an embodiment, the communication to theon-site officer(s) includes sending/receiving information of a targetobject and information of the own/other self-driving emergency vehiclesystem through a radio frequency signal. In an embodiment, thecommunication to the on-site officer(s) includes generating an audio(voice) message through a speaker and/or presenting a visual messagethrough a display. In a more specific implementation, the audio (voice)message and/or the visual message includes a code word regarding thetarget object (e.g., attribute information of the target object).

In the example of FIG. 6, if the decision result of the decision point602 is No (N in FIG. 6), the flowchart 600 continues to decision point606, with determining whether the specific instance of the on-sitecommunication is communication to the public on-site. If a decisionresult of the decision point 606 is Yes (Y in FIG. 6), the flowchart 600continues to module 608, with performing communication to the public. Inan embodiment, the communication to the public includes generating anaudio (voice) message through a speaker and/or presenting a visualmessage through a display. In a more specific implementation, the audio(voice) message and/or the visual message includes an evacuation orderto the public on-site.

In the example of FIG. 6, if a decision result of the decision point 606is No (N in FIG. 6), the flowchart 600 continues to module 612, withperforming communication to the target object. In an embodiment, thecommunication to the target object includes generating an audio (voice)message through a speaker and/or presenting a visual sign or message. Ina more specific implementation, the visual signal includes activation ofa siren, the audio (voice) message includes an order to pull over to acurb side, a warning of attack by the self-driving emergency vehiclesystem, and so on. If a decision result of the decision point 610 is No(N in FIG. 6), the flowchart 600 returns to the decision pint 602 for anext instance of on-site communication.

FIG. 7 depicts a flowchart 700 of an example of a method for aself-driving operation. In an embodiment, the self-driving operationincludes one or both of the self-driving operation in the module 312 inFIG. 3 and the self-driving operation in the module 412 in FIG. 4. Asequence of the flowchart 700 is carried out with respect to eachinstance of off-site communication. In the example of FIG. 7, theflowchart 700 starts at decision point 702, with determining whether aspecific instance of self-driving operation is pursuing a target object.If a decision result of the decision point 702 is Yes (Y in FIG. 7), theflowchart 700 continues to decision point 704, with determining whethera self-driving emergency vehicle system is sacrificed. In an embodiment,the decision to sacrifice the self-driving emergency vehicle system ismade based on comparison of danger to the public (or to passengers) ifthe target object continues to run with danger to the public (or topassengers) if the target object is forcibly stopped.

In the example of FIG. 7, if a decision result of the decision point 704is No (N in FIG. 7), the flowchart 700 continues to module 706, withfollowing the target object. In an embodiment, the following of thetarget object includes self-driving of the self-driving emergencyvehicle system at least with a predetermined distance from the targetobject, so as not to cause a dangerous run by the target object. In anembodiment, the following of the target object includes self-drivingviolating regular traffic rules to secure safety against the targetobject. In an embodiment, the following of the target object includesproceeding ahead of a non-self-driving emergency vehicle system (i.e.,the non-self-driving emergency vehicle system 108 in FIG. 1) that alsopursues the target object, so as to protect passengers in thenon-self-driving emergency vehicle system from danger.

In the example of FIG. 7, if a decision result of the decision point 704is Yes (Y in FIG. 7), the flowchart 700 continues to module 708, withattacking the target object sacrificing the self-driving emergencyvehicle system. In an embodiment, the attack is performed at timing andplace that are likely to cause minimum injury to people (includingpassengers in the target object).

In the example of FIG. 7, if a decision result of the decision point 702is No (N in FIG. 7), the flowchart 700 continues to decision point 710,with determining whether the self-driving emergency vehicle systemproceeds to a predetermined location, without following the targetobject. If a decision result of the decision point 710 is Yes (Y in FIG.7), the flowchart 700 continues to decision point 712, with proceedingto the predetermined location. In an embodiment, the predeterminedlocation is a predicted location of the target object at a future pointof time.

In the example of FIG. 7, if a decision result of the decision point 710is No (N in FIG. 7), the flowchart 700 continues to decision point 714,with determining whether the self-driving emergency vehicle systemdistracts a target object away from a predetermined area. In anembodiment, the decision to distract the target object is made based oncomparison of danger to the public (or passengers) if the target objectcomes to a predetermined area (e.g., high populated area, school zone, afacility handling dangerous materials, such as gasoline) with danger tothe public (or passengers) if the target object moves away from thepredetermined area.

In the example of FIG. 7, if a decision result of the decision point 714is Yes (Y in FIG. 7), the flowchart 700 continues to module 716, withproceeding to or along with the predetermined area, such that the targetobject is destructed away from the predetermined area and that theself-driving emergency vehicle system can protect the predetermined areaif the target object comes towards the predetermined area nevertheless.In an embodiment, the proceeding to the predetermined area may causeon-site communication such as activating a siren and generating an alertmessage to the public to evacuate, which is, for example, carried out inmodule 608 in FIG. 6.

In the example of FIG. 7, if a decision result of the decision point 714is No (N in FIG. 7), the flowchart 700 continues to decision point 718,with determining whether the self-driving emergency vehicle system staysat the current location. In an embodiment, the decision to stay at thecurrent location is made based on comparison of the current location ofthe self-driving emergency vehicle system and the predicted location ofthe target object. For example, if the predicted location of the targetobject is at the current location of the self-driving emergency vehiclesystem, a decision to stay at the current location is made. In anembodiment, the decision to stay at the current location is made basedon comparison of the current location of the self-driving emergencyvehicle system and the above-described predetermined area to beprotected. For example, if predetermined area to be protected is at thecurrent location of the self-driving emergency vehicle system, adecision to stay at the current location is made. In another embodiment,the decision to stay at the current location is made based on necessityto regulate traffic at the current location. For example, if there isnecessity to restrict traffic towards the target object at the currentlocation, a decision to stay at the current location is made.

In the example of FIG. 7, if a decision result of the decision point 718is Yes (Y in FIG. 7), the flowchart 700 continues to module 720, withstaying at the current location of the self-driving emergency vehiclesystem. If the decision result of the decision point 718 is No (N inFIG. 7), the flowchart 700 returns to module 702.

FIG. 8 is a schematic map diagram 800 of an example of deployment andbehavior of a plurality of self-driving emergency vehicle systems in anexemplary occasion. In the example depicted in FIG. 8, the schematic mapdiagram 800 depicts a map of a hypothetical region, which includes roads802 that are generally structured in a grid pattern, a high populatedarea (e.g., shopping avenue) 804, a school zone 806, and a lesspopulated area (e.g., empty lot) 808. The region further includestraffic signals 810 a-810 h. In the region, five self-driving emergencyvehicle systems 812 a-812 e are deployed to capture a target vehicle814.

In the example of FIG. 8, the self-driving emergency vehicle systems 812a has pointed the target vehicle 814 as a target object because thetarget vehicle 814 is recognized as passing a red signal and proceedingover a speed limit according to image processing of scene imagesreceived by the self-driving emergency vehicle systems 812 a.

The self-driving emergency vehicle systems 812 a is now carrying out aself-driving operation to pursue the target vehicle 814 to capturetarget vehicle 814 and carrying out an on-site communication to thetarget vehicle 814 with a siren sound and an order (voice message) topull over to a curb side. Based on the speed of the target vehicle 814and sparse traffic, the self-driving emergency vehicle systems 812 apredicts that the target vehicle 814 goes straight at least two to threemore blocks as long as the traffic signals 810 a, 810 b, and 810 c areall green.

To guide the target vehicle 814 to an intended route, the self-drivingemergency vehicle systems 812 a carries out off-site communication tocommunicate with a traffic signal system and cause the traffic signals810 a and 810 b to be green (in a vertical direction in FIG. 8), suchthat the target vehicle 814 can go straight in a direction indicated byan arrow al. Further, the self-driving emergency vehicle systems 812 acarries out off-site communication to cause the traffic signal 810 c tobe left-turn green, such that the target vehicle 814 does not proceed tothe high populated area 804 and instead proceed to the less populatedarea 808. Then, the self-driving emergency vehicle systems 812 a carriesout off-site communication to cause the traffic signal 810 h to be green(in a horizonal direction in FIG. 8), such that the target vehicle 814is tempted to proceed to a point 816, which is a predicted location ofthe target vehicle 814. In addition, the self-driving emergency vehiclesystems 812 a carries out off-site communication to cause the trafficsignals 810 d, 810 e, 810 g, 810 f to be all red (both horizontal andvertical directions in FIG. 8) to freeze the traffic.

In an specific implementation, the self-driving emergency vehiclesystems 812 a also carries out off-site communication to communicatewith the self-driving emergency vehicle systems 812 b-812 e to notifythe incident regarding the target vehicle 814 and request assistance.Specifically, the self-driving emergency vehicle systems 812 a notifiesits route (i.e., through the traffic signals 810 a, 810 b, 810 c, and810 h) to the self-driving emergency vehicle systems 812 c and 812 e andinstructs the self-driving emergency vehicle systems 812 c and 812 e toproceed to the point 816 so as to block all paths from the point 816.Further, the self-driving emergency vehicle systems 812 a instructs theself-driving emergency vehicle system 812 b to proceed along with theschool zone 806 for protecting the school zone 806 from the targetvehicle 814, and to notify danger of the target vehicle 814 to peoplearound the school zone 806. Moreover, the self-driving emergency vehiclesystems 812 a instructs the self-driving emergency vehicle system 812 dto stay at its current location for protecting the high populated area804 and to notify danger of the target vehicle 814 to people around thehigh populated area 804.

In another specific implementation, the self-driving emergency vehiclesystems 812 a also carries out off-site communication to communicatewith the self-driving emergency vehicle systems 812 b-812 e to notifythe incident regarding the target vehicle 814 and a predicted path ofthe target vehicle 814. The self-driving emergency vehicle systems 812b-812 e determine deployed positions of the self-driving emergencyvehicle systems 812 a-812 e, and autonomously determines each ownoperation to handle the incident.

The foregoing description of the present invention has been provided forthe purposes of illustration and description. It is not intended to beexhaustive or to limit the invention to the precise forms disclosed. Thebreadth and scope of the present invention should not be limited by anyof the above-described exemplary embodiments. Many modifications andvariations will be apparent to the practitioner skilled in the art. Themodifications and variations include any relevant combination of thedisclosed features. The embodiments were chosen and described in orderto best explain the principles of the invention and its practicalapplication, thereby enabling others skilled in the art to understandthe invention for various embodiments and with various modificationsthat are suited to the particular use contemplated. It is intended thatthe scope of the invention be defined by the following claims and theirequivalence.

Hardware Implementation

The techniques described herein are implemented by one or morespecial-purpose computing devices. The special-purpose computing devicesmay be hard-wired to perform the techniques, or may include circuitry ordigital electronic devices such as one or more application-specificintegrated circuits (ASICs) or field programmable gate arrays (FPGAs)that are persistently programmed to perform the techniques, or mayinclude one or more hardware processors programmed to perform thetechniques pursuant to program instructions in firmware, memory, otherstorage, or a combination. Such special-purpose computing devices mayalso combine custom hard-wired logic, ASICs, or FPGAs with customprogramming to accomplish the techniques. The special-purpose computingdevices may be desktop computer systems, server computer systems,portable computer systems, handheld devices, networking devices or anyother device or combination of devices that incorporate hard-wiredand/or program logic to implement the techniques.

Computing device(s) are generally controlled and coordinated byoperating system software, such as iOS, Android, Chrome OS, Windows XP,Windows Vista, Windows 7, Windows 8, Windows Server, Windows CE, Unix,Linux, SunOS, Solaris, iOS, Blackberry OS, VxWorks, or other compatibleoperating systems. In other embodiments, the computing device may becontrolled by a proprietary operating system. Conventional operatingsystems control and schedule computer processes for execution, performmemory management, provide file system, networking, I/O services, andprovide a user interface functionality, such as a graphical userinterface (“GUI”), among other things.

FIG. 9 is a block diagram that illustrates a computer system 900 uponwhich any of the embodiments described herein may be implemented. Thecomputer system 900 includes a bus 902 or other communication mechanismfor communicating information, one or more hardware processors 904coupled with bus 902 for processing information. Hardware processor(s)904 may be, for example, one or more general purpose microprocessors.

The computer system 900 also includes a main memory 906, such as arandom access memory (RAM), cache and/or other dynamic storage devices,coupled to bus 902 for storing information and instructions to beexecuted by processor 904. Main memory 906 also may be used for storingtemporary variables or other intermediate information during executionof instructions to be executed by processor 904. Such instructions, whenstored in storage media accessible to processor 904, render computersystem 900 into a special-purpose machine that is customized to performthe operations specified in the instructions.

The computer system 900 further includes a read only memory (ROM) 908 orother static storage device coupled to bus 902 for storing staticinformation and instructions for processor 904. A storage device 910,such as a magnetic disk, optical disk, or USB thumb drive (Flash drive),etc., is provided and coupled to bus 902 for storing information andinstructions.

The computer system 900 may be coupled via bus 902 to output device(s)912, such as a cathode ray tube (CRT) or LCD display (or touch screen),for displaying information to a computer user. Input device(s) 914,including alphanumeric and other keys, are coupled to bus 902 forcommunicating information and command selections to processor 904.Another type of user input device is cursor control 916, such as amouse, a trackball, or cursor direction keys for communicating directioninformation and command selections to processor 904 and for controllingcursor movement on display 912. This input device typically has twodegrees of freedom in two axes, a first axis (e.g., x) and a second axis(e.g., y), that allows the device to specify positions in a plane. Insome embodiments, the same direction information and command selectionsas cursor control may be implemented via receiving touches on a touchscreen without a cursor.

The computing system 900 may include a user interface module toimplement a GUI that may be stored in a mass storage device asexecutable software codes that are executed by the computing device(s).This and other modules may include, by way of example, components, suchas software components, object-oriented software components, classcomponents and task components, processes, functions, attributes,procedures, subroutines, segments of program code, drivers, firmware,microcode, circuitry, data, databases, data structures, tables, arrays,and variables.

In general, the word “module,” as used herein, refers to logic embodiedin hardware or firmware, or to a collection of software instructions,possibly having entry and exit points, written in a programminglanguage, such as, for example, Java, C or C++. A software module may becompiled and linked into an executable program, installed in a dynamiclink library, or may be written in an interpreted programming languagesuch as, for example, BASIC, Perl, or Python. It will be appreciatedthat software modules may be callable from other modules or fromthemselves, and/or may be invoked in response to detected events orinterrupts. Software modules configured for execution on computingdevices may be provided on a computer readable medium, such as a compactdisc, digital video disc, flash drive, magnetic disc, or any othertangible medium, or as a digital download (and may be originally storedin a compressed or installable format that requires installation,decompression or decryption prior to execution). Such software code maybe stored, partially or fully, on a memory device of the executingcomputing device, for execution by the computing device. Softwareinstructions may be embedded in firmware, such as an EPROM. It will befurther appreciated that hardware modules may be comprised of connectedlogic units, such as gates and flip-flops, and/or may be comprised ofprogrammable units, such as programmable gate arrays or processors. Themodules or computing device functionality described herein arepreferably implemented as software modules, but may be represented inhardware or firmware. Generally, the modules described herein refer tological modules that may be combined with other modules or divided intosub-modules despite their physical organization or storage.

The computer system 900 may implement the techniques described hereinusing customized hard-wired logic, one or more ASICs or FPGAs, firmwareand/or program logic which in combination with the computer systemcauses or programs computer system 900 to be a special-purpose machine.According to one embodiment, the techniques herein are performed bycomputer system 900 in response to processor(s) 904 executing one ormore sequences of one or more instructions contained in main memory 906.Such instructions may be read into main memory 906 from another storagemedium, such as storage device 910. Execution of the sequences ofinstructions contained in main memory 906 causes processor(s) 904 toperform the process steps described herein. In alternative embodiments,hard-wired circuitry may be used in place of or in combination withsoftware instructions.

The term “non-transitory media,” and similar terms, as used hereinrefers to any media that store data and/or instructions that cause amachine to operate in a specific fashion. Such non-transitory media maycomprise non-volatile media and/or volatile media. Non-volatile mediaincludes, for example, optical or magnetic disks, such as storage device910. Volatile media includes dynamic memory, such as main memory 606.Common forms of non-transitory media include, for example, a floppydisk, a flexible disk, hard disk, solid state drive, magnetic tape, orany other magnetic data storage medium, a CD-ROM, any other optical datastorage medium, any physical medium with patterns of holes, a RAM, aPROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip orcartridge, and networked versions of the same.

Non-transitory media is distinct from but may be used in conjunctionwith transmission media. Transmission media participates in transferringinformation between non-transitory media. For example, transmissionmedia includes coaxial cables, copper wire and fiber optics, includingthe wires that comprise bus 902. Transmission media can also take theform of acoustic or light waves, such as those generated duringradio-wave and infra-red data communications.

Various forms of media may be involved in carrying one or more sequencesof one or more instructions to processor 904 for execution. For example,the instructions may initially be carried on a magnetic disk or solidstate drive of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 900 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 902. Bus 902 carries the data tomain memory 906, from which processor 904 retrieves and executes theinstructions. The instructions received by main memory 906 may retrievesand executes the instructions. The instructions received by main memory906 may optionally be stored on storage device 910 either before orafter execution by processor 904.

The computer system 900 also includes a communication interface 918coupled to bus 902. Communication interface 918 provides a two-way datacommunication coupling to one or more network links that are connectedto one or more local networks. For example, communication interface 918may be an integrated services digital network (ISDN) card, cable modem,satellite modem, or a modem to provide a data communication connectionto a corresponding type of telephone line. As another example,communication interface 918 may be a local area network (LAN) card toprovide a data communication connection to a compatible LAN (or WANcomponent to communicated with a WAN). Wireless links may also beimplemented. In any such implementation, communication interface 918sends and receives electrical, electromagnetic or optical signals thatcarry digital data streams representing various types of information.

A network link typically provides data communication through one or morenetworks to other data devices. For example, a network link may providea connection through local network to a host computer or to dataequipment operated by an Internet Service Provider (ISP). The ISP inturn provides data communication services through the world wide packetdata communication network now commonly referred to as the “Internet”.Local network and Internet both use electrical, electromagnetic oroptical signals that carry digital data streams. The signals through thevarious networks and the signals on network link and throughcommunication interface 918, which carry the digital data to and fromcomputer system 900, are example forms of transmission media.

The computer system 900 can send messages and receive data, includingprogram code, through the network(s), network link and communicationinterface 918. In the Internet example, a server might transmit arequested code for an application program through the Internet, the ISP,the local network and the communication interface 918.

The received code may be executed by processor 904 as it is received,and/or stored in storage device 910, or other non-volatile storage forlater execution.

Each of the processes, methods, and algorithms described in thepreceding sections may be embodied in, and fully or partially automatedby, code modules executed by one or more computer systems or computerprocessors comprising computer hardware. The processes and algorithmsmay be implemented partially or wholly in application-specificcircuitry.

The various features and processes described above may be usedindependently of one another, or may be combined in various ways. Allpossible combinations and sub-combinations are intended to fall withinthe scope of this disclosure. In addition, certain method or processblocks may be omitted in some implementations. The methods and processesdescribed herein are also not limited to any particular sequence, andthe blocks or states relating thereto can be performed in othersequences that are appropriate. For example, described blocks or statesmay be performed in an order other than that specifically disclosed, ormultiple blocks or states may be combined in a single block or state.The example blocks or states may be performed in serial, in parallel, orin some other manner. Blocks or states may be added to or removed fromthe disclosed example embodiments. The example systems and componentsdescribed herein may be configured differently than described. Forexample, elements may be added to, removed from, or rearranged comparedto the disclosed example embodiments.

Conditional language, such as, among others, “can,” “could,” “might,” or“may,” unless specifically stated otherwise, or otherwise understoodwithin the context as used, is generally intended to convey that certainembodiments include, while other embodiments do not include, certainfeatures, elements and/or steps. Thus, such conditional language is notgenerally intended to imply that features, elements and/or steps are inany way required for one or more embodiments or that one or moreembodiments necessarily include logic for deciding, with or without userinput or prompting, whether these features, elements and/or steps areincluded or are to be performed in any particular embodiment.

Any process descriptions, elements, or blocks in the flow diagramsdescribed herein and/or depicted in the attached figures should beunderstood as potentially representing modules, segments, or portions ofcode which include one or more executable instructions for implementingspecific logical functions or steps in the process. Alternateimplementations are included within the scope of the embodimentsdescribed herein in which elements or functions may be deleted, executedout of order from that shown or discussed, including substantiallyconcurrently or in reverse order, depending on the functionalityinvolved, as would be understood by those skilled in the art.

It should be emphasized that many variations and modifications may bemade to the above-described embodiments, the elements of which are to beunderstood as being among other acceptable examples. All suchmodifications and variations are intended to be included herein withinthe scope of this disclosure. The foregoing description details certainembodiments of the invention. It will be appreciated, however, that nomatter how detailed the foregoing appears in text, the invention can bepracticed in many ways. As is also stated above, it should be noted thatthe use of particular terminology when describing certain features oraspects of the invention should not be taken to imply that theterminology is being re-defined herein to be restricted to including anyspecific characteristics of the features or aspects of the inventionwith which that terminology is associated. The scope of the inventionshould therefore be construed in accordance with the appended claims andany equivalents thereof.

Engines, Components, and Logic

Certain embodiments are described herein as including logic or a numberof components, engines, or mechanisms. Engines may constitute eithersoftware engines (e.g., code embodied on a machine-readable medium) orhardware engines. A “hardware engine” is a tangible unit capable ofperforming certain operations and may be configured or arranged in acertain physical manner. In various example embodiments, one or morecomputer systems (e.g., a standalone computer system, a client computersystem, or a server computer system) or one or more hardware engines ofa computer system (e.g., a processor or a group of processors) may beconfigured by software (e.g., an application or application portion) asa hardware engine that operates to perform certain operations asdescribed herein.

In some embodiments, a hardware engine may be implemented mechanically,electronically, or any suitable combination thereof. For example, ahardware engine may include dedicated circuitry or logic that ispermanently configured to perform certain operations. For example, ahardware engine may be a special-purpose processor, such as aField-Programmable Gate Array (FPGA) or an Application SpecificIntegrated Circuit (ASIC). A hardware engine may also includeprogrammable logic or circuitry that is temporarily configured bysoftware to perform certain operations. For example, a hardware enginemay include software executed by a general-purpose processor or otherprogrammable processor. Once configured by such software, hardwareengines become specific machines (or specific components of a machine)uniquely tailored to perform the configured functions and are no longergeneral-purpose processors. It will be appreciated that the decision toimplement a hardware engine mechanically, in dedicated and permanentlyconfigured circuitry, or in temporarily configured circuitry (e.g.,configured by software) may be driven by cost and time considerations.

Accordingly, the phrase “hardware engine” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein,“hardware-implemented engine” refers to a hardware engine. Consideringembodiments in which hardware engines are temporarily configured (e.g.,programmed), each of the hardware engines need not be configured orinstantiated at any one instance in time. For example, where a hardwareengine comprises a general-purpose processor configured by software tobecome a special-purpose processor, the general-purpose processor may beconfigured as respectively different special-purpose processors (e.g.,comprising different hardware engines) at different times. Softwareaccordingly configures a particular processor or processors, forexample, to constitute a particular hardware engine at one instance oftime and to constitute a different hardware engine at a differentinstance of time.

Hardware engines can provide information to, and receive informationfrom, other hardware engines. Accordingly, the described hardwareengines may be regarded as being communicatively coupled. Where multiplehardware engines exist contemporaneously, communications may be achievedthrough signal transmission (e.g., over appropriate circuits and buses)between or among two or more of the hardware engines. In embodiments inwhich multiple hardware engines are configured or instantiated atdifferent times, communications between such hardware engines may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware engines have access.For example, one hardware engine may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware engine may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware engines may also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented enginesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented engine” refers to ahardware engine implemented using one or more processors.

Similarly, the methods described herein may be at least partiallyprocessor-implemented, with a particular processor or processors beingan example of hardware. For example, at least some of the operations ofa method may be performed by one or more processors orprocessor-implemented engines. Moreover, the one or more processors mayalso operate to support performance of the relevant operations in a“cloud computing” environment or as a “software as a service” (SaaS).For example, at least some of the operations may be performed by a groupof computers (as examples of machines including processors), with theseoperations being accessible via a network (e.g., the Internet) and viaone or more appropriate interfaces (e.g., an Application ProgramInterface (API)).

The performance of certain of the operations may be distributed amongthe processors, not only residing within a single machine, but deployedacross a number of machines. In some example embodiments, the processorsor processor-implemented engines may be located in a single geographiclocation (e.g., within a home environment, an office environment, or aserver farm). In other example embodiments, the processors orprocessor-implemented engines may be distributed across a number ofgeographic locations.

Language

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Although an overview of the subject matter has been described withreference to specific example embodiments, various modifications andchanges may be made to these embodiments without departing from thebroader scope of embodiments of the present disclosure. Such embodimentsof the subject matter may be referred to herein, individually orcollectively, by the term “invention” merely for convenience and withoutintending to voluntarily limit the scope of this application to anysingle disclosure or concept if more than one is, in fact, disclosed.

The embodiments illustrated herein are described in sufficient detail toenable those skilled in the art to practice the teachings disclosed.Other embodiments may be used and derived therefrom, such thatstructural and logical substitutions and changes may be made withoutdeparting from the scope of this disclosure. The Detailed Description,therefore, is not to be taken in a limiting sense, and the scope ofvarious embodiments is defined only by the appended claims, along withthe full range of equivalents to which such claims are entitled.

It will be appreciated that an “engine,” “system,” “data store,” and/or“database” may comprise software, hardware, firmware, and/or circuitry.In one example, one or more software programs comprising instructionscapable of being executable by a processor may perform one or more ofthe functions of the engines, data stores, databases, or systemsdescribed herein. In another example, circuitry may perform the same orsimilar functions. Alternative embodiments may comprise more, less, orfunctionally equivalent engines, systems, data stores, or databases, andstill be within the scope of present embodiments. For example, thefunctionality of the various systems, engines, data stores, and/ordatabases may be combined or divided differently.

“Open source” software is defined herein to be source code that allowsdistribution as source code as well as compiled form, with awell-publicized and indexed means of obtaining the source, optionallywith a license that allows modifications and derived works.

The data stores described herein may be any suitable structure (e.g., anactive database, a relational database, a self-referential database, atable, a matrix, an array, a flat file, a documented-oriented storagesystem, a non-relational No-SQL system, and the like), and may becloud-based or otherwise.

As used herein, the term “or” may be construed in either an inclusive orexclusive sense. Moreover, plural instances may be provided forresources, operations, or structures described herein as a singleinstance. Additionally, boundaries between various resources,operations, engines, engines, and data stores are somewhat arbitrary,and particular operations are illustrated in a context of specificillustrative configurations. Other allocations of functionality areenvisioned and may fall within a scope of various embodiments of thepresent disclosure. In general, structures and functionality presentedas separate resources in the example configurations may be implementedas a combined structure or resource. Similarly, structures andfunctionality presented as a single resource may be implemented asseparate resources. These and other variations, modifications,additions, and improvements fall within a scope of embodiments of thepresent disclosure as represented by the appended claims. Thespecification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense.

Conditional language, such as, among others, “can,” “could,” “might,” or“may,” unless specifically stated otherwise, or otherwise understoodwithin the context as used, is generally intended to convey that certainembodiments include, while other embodiments do not include, certainfeatures, elements and/or steps. Thus, such conditional language is notgenerally intended to imply that features, elements and/or steps are inany way required for one or more embodiments or that one or moreembodiments necessarily include logic for deciding, with or without userinput or prompting, whether these features, elements and/or steps areincluded or are to be performed in any particular embodiment.

Although the invention has been described in detail for the purpose ofillustration based on what is currently considered to be the mostpractical and preferred implementations, it is to be understood thatsuch detail is solely for that purpose and that the invention is notlimited to the disclosed implementations, but, on the contrary, isintended to cover modifications and equivalent arrangements that arewithin the spirit and scope of the appended claims. For example, it isto be understood that the present invention contemplates that, to theextent possible, one or more features of any embodiment can be combinedwith one or more features of any other embodiment.

What is claimed is:
 1. A system included in a self-driving vehicle of aplurality of self-driving vehicles connected through a network,comprising: one or more processors; and a memory storing instructionsthat, when executed by the one or more processors, cause the system toperform: processing image data of one or more scene images received bythe self-driving vehicle to detect one or more objects included in theone or more scene images; determining a target object from the one ormore detected objects at least based on the processed image data;predicting movement of the target object at least based on a currentposition and a current movement state of the target object; performing aself-driving operation to drive the self-driving vehicle based on thepredicted movement of the target object; and determining a behavior ofthe self-driving vehicle based on a probability of capturing the targetobject by another of the self-driving vehicles.
 2. The system of claim1, wherein the determining the behavior of the self-driving vehicle isfurther based on a probability of capturing the target object by theself-driving vehicle.
 3. The system of claim 1, wherein the determiningthe behavior of the self-driving vehicle is further based on a level ofdanger to a passenger in the target object.
 4. The system of claim 1,wherein the determining the behavior of the self-driving vehiclecomprises determining whether to sacrifice the self-driving vehicle. 5.The system of claim 1, wherein the determining the behavior of theself-driving vehicle is further based on an instruction of another ofthe self-driving vehicles pointing to the target object.
 6. The systemof claim 1, wherein the predicting the movement of the target object isfurther based on a route of the self-driving vehicles and a position ofthe self-driving vehicles, in response to the target object recognizingthe self-driving vehicles.
 7. The system of claim 4, wherein, theinstructions further cause the system to perform: in response todetermining to sacrifice the self-driving vehicle, proceeding ahead of anon-self-driving emergency vehicle system to protect passengers in thenon-self-driving emergency vehicle system from danger.
 8. The system ofclaim 4, wherein, the instructions further cause the system to perform:in response to determining not to sacrifice the self-driving vehicle,following the target object while keeping a predetermined distance fromthe target object.
 9. The system of claim 4, wherein, the instructionsfurther cause the system to perform: in response to determining tosacrifice the self-driving vehicle, attacking the target object at atime and place likely to cause a minimum injury to one or morepassengers in the target object.
 10. The system of claim 1, wherein, theinstructions further cause the system to perform: sending a currentlocation and a route of the self-driving vehicle to a traffic signalsystem to turn traffic signals along the route to be green.
 11. Thesystem of claim 1, wherein, the instructions further cause the system toperform: sending an instruction to a traffic signal system to direct thetarget object to a dead end.
 12. The system of claim 1, wherein, theinstructions further cause the system to perform: accepting information,from a server, of a crime history, appearance, clothing, weapons, orhostages of the target object.
 13. A computer-implemented methodperformed in one of a plurality of self-driving vehicles that areconnected through a network, the method comprising: processing imagedata of one or more scene images received by said one of the pluralityof self-driving vehicles, to detect one or more objects included in theone or more scene images; determining a target object from the one ormore detected objects at least based on the processed image data;predicting movement of the target object at least based on a currentposition and a current movement state of the target object; andperforming a self-driving operation to drive said one of the pluralityof self-driving vehicles based on the predicted movement of the targetobject; and determining a behavior of the self-driving vehicle based ona probability of capturing the target object by another of theself-driving vehicles.
 14. The computer-implemented method of claim 13,wherein the determining the behavior of the self-driving vehicle isfurther based on a probability of capturing the target object by theself-driving vehicle.
 15. The computer-implemented method of claim 13,wherein the determining the behavior of the self-driving vehiclecomprises determining whether to sacrifice the self-driving vehicle. 16.The computer-implemented method of claim 13, wherein the predicting themovement of the target object is further based on a route of theself-driving vehicles and a position of the self-driving vehicles, inresponse to the target object recognizing the self-driving vehicles. 17.The computer-implemented method of claim 15, further comprising: inresponse to determining to sacrifice the self-driving vehicle,proceeding ahead of a non-self-driving emergency vehicle system toprotect passengers in the non-self-driving emergency vehicle system fromdanger.
 18. The computer-implemented method of claim 15, furthercomprising: in response to determining not to sacrifice the self-drivingvehicle, following the target object while keeping a predetermineddistance from the target object.
 19. The computer-implemented method ofclaim 13, further comprising: sending a current location and a route ofthe self-driving vehicle to a traffic signal system to turn trafficsignals along the route to be green.
 20. The computer-implemented methodof claim 13, further comprising: sending an instruction to a trafficsignal system to direct the target object to a dead end.